home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 18 / beav120.zip / BEAV.TXT < prev   
Text File  |  1991-03-14  |  70KB  |  2,442 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                BEAV
  10.                      Binary Editor And Viewer
  11.  
  12.                       Manual Copyright 1991
  13.  
  14.                            Version 1.20
  15.                           March 13, 1991
  16.  
  17.                                 By
  18.                           Peter Reilley
  19.                          19 Heritage Cir.
  20.                         Hudson, N.H. 03051
  21.                            pvr@wang.com
  22.  
  23.              BEAV source and executable can be freely
  24.              distributed for non-commercial purposes.
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                          BEAV User Manual
  40.  
  41.  
  42.  
  43.  
  44.                         Table of Contents
  45.  
  46. 1.    Introduction
  47.  
  48. 2.    Overview
  49.  2.1       Terms and Definitions
  50.  2.2       The Screen Format
  51.  2.3       Display Modes
  52.  2.4       Commands
  53.  2.5       Buffers
  54.  2.6       Files
  55.  2.7       Key Binding
  56.  2.8       Configuration
  57.  
  58. 3.    Command Description
  59.  3.1       Help
  60.  3.2       Cursor Movement
  61.  3.3       Buffer Management
  62.  3.4       File Management
  63.  3.5       Window Management
  64.  3.6       Inserting and deleting
  65.  3.7       Search and Replace Commands
  66.  3.8       Exiting BEAV
  67.  3.9       Printing
  68.  3.10      Keyboard Macros
  69.  3.11      Key Binding
  70.  3.12      Special Functions
  71.  
  72. 4.    Alphabetical list of commands by name
  73.  
  74. 5.    Alphabetical list of commands by default key binding
  75.  
  76. 6.    Release notes
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.                               - 2  -
  99.  
  100.  
  101.  
  102.  
  103.  
  104.                          BEAV User Manual
  105.  
  106.  
  107.  
  108.  
  109. 1.0   Introduction
  110.  
  111.       BEAV  is  an  editor that brings the features of a powerful
  112. full screen editor to the editing of binary files.    It  is  the
  113. only editor that I know of that does that.
  114.  
  115.       When  you  need  to edit a non-text file you generally have
  116. two choices; a text editor or a  file  zap  type  editor.    Each
  117. choice has significant disadvantages.
  118.  
  119.       Text  editors  expect the file to be formatted in a certain
  120. way.   At a minimum they expect that all lines be  terminated  by
  121. a  carriage  return  or  line  feed  and  be  limited  in length.
  122. There is no line length limit  with  BEAV.    Most  text  editors
  123. get  confused  by  bytes that are outside of the normal range (20
  124. to 7E HEX).   In BEAV no  special  characters  such  as  carriage
  125. return  or  line  feed  affect  the  display aside from producing
  126. their numeric value.   BEAV can  edit  any  file  no  matter  the
  127. format.
  128.  
  129.       The  other  choice  is  to use a file zap type editor which
  130. can edit a binary file without  difficulty.   These  editors  are
  131. often  very  limited  in  their features and capabilities.   Most
  132. file zap programs can edit a file only in HEX  or  ASCII.    They
  133. generally  operate  on  a  sector  basis and because of this they
  134. cannot insert or delete data in the middle of the file.
  135.  
  136.       All these limits are eliminated in BEAV.   You can  edit  a
  137. file  in  HEX,  ASCII,  EBCDIC, OCTAL, DECIMAL, and BINARY.   You
  138. can search or search and replace in any of  these  modes.    Data
  139. can  be  displayed in BYTE, WORD, or DOUBLE WORD formats.   While
  140. displaying WORDS or DOUBLE WORDS the data  can  be  displayed  in
  141. INTEL's  or  MOTOROLA's  byte  swap  format.   Data of any length
  142. can be inserted at any point in the file.   The  source  of  this
  143. data  can  be the keyboard, another buffer, or a file.   Any data
  144. that is  being  displayed  can  be  sent  to  a  printer  in  the
  145. displayed  format.    Files  that  are  bigger than memory can be
  146. handled.
  147.  
  148.       Some users may recognize the similarity to the  EMACS  text
  149. editor  that  was  written  by Richard Stallman at MIT.   This is
  150. not a coincidence.   I attempted to keep  as  much  of  the  user
  151. interface   and   functionality   as   possible  given  the  very
  152. different tasks of EMACS and BEAV.
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.                               - 3  -
  164.  
  165.  
  166.  
  167.  
  168.  
  169.                          BEAV User Manual
  170.  
  171.  
  172.  
  173. 2.    Overview
  174.  2.1       Terms and Definitions
  175.  
  176.       Throughout this  manual  certain  terms  will  be  used  to
  177. describe the operation and structure of BEAV.
  178.  
  179.       The  data  that BEAV is editing is held in a buffer that is
  180. structured as a byte  stream.    There  are  many  commands  that
  181. affect  the  way  that  this  byte  stream is displayed on to the
  182. screen.   Whatever  display  mode  is  chosen  the  data  in  the
  183. buffer is not effected, only the presentation.
  184.  
  185.       One  such  choice  is  to display the data as bytes, words,
  186. or double words.   That is; 8 bit values, 16 bit  values,  or  32
  187. bit  values.    Whatever choice is made the value of the selected
  188. size will be displayed.   These values are referred to  as  units
  189. in  this  manual.    Thus  the 'delete-forw-unit' command deletes
  190. the  unit  under  the  cursor.    If  32  bit  units  are   being
  191. displayed then 4 bytes will be deleted.
  192.  
  193.       Many  commands  in  BEAV  start  by  pressing  the 'ESCAPE'
  194. key.   When this manual refers to a command  that  requires  that
  195. the   'ESCAPE'  key  be  pressed  it  will  be  abbreviated  with
  196. 'Esc'.   Another frequently used key  stroke  to  start  commands
  197. is  'CONTROL  X'.    This  in  done by pressing the 'CONTROL' key
  198. then pressing the 'X' key at the  same  time.    In  this  manual
  199. this  will  be  abbreviated  by 'Ctl-X'.    Many commands contain
  200. other  control  characters  and   these   will   be   abbreviates
  201. similarly.    Thus  the  'insert-unit'  command will be listed as
  202. 'Ctl-X I'.   This will be entered by  pressing  the  CONTROL  key
  203. and  while  holding  it  hitting the 'X' key, release the CONTROL
  204. key then hit the 'I' key.
  205.  
  206.  2.2       The Screen Format
  207.       BEAV presents information  to  the  user  in  a  number  of
  208. areas.    The  first  is the window.   There will be at least one
  209. window displayed  on  the  screen  at  all  times.    The  window
  210. consists  of  two  areas.   The first is the display area.   This
  211. is where the data that is in the buffer is displayed.    Most  of
  212. the  time  the cursor will be in this area, as this is where most
  213. editing is done.   Each line  in  the  display  area  will  start
  214. with  a  number  that  indicates  the  offset into the buffer for
  215. this line of data.   At the bottom of the display area  for  each
  216. window is the status line.
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.                               - 4  -
  229.  
  230.  
  231.  
  232.  
  233.  
  234.                          BEAV User Manual
  235.  
  236.  
  237.  
  238.       The  status  line  presents  the  user  with  a  number  of
  239. specific  pieces  of information.   The first is the program name
  240. which is "BEAV".   Next  there  are  some  flags  indicating  the
  241. status of this particular buffer.
  242.  
  243.       The  first  flag  indicates  if the buffer has been damaged
  244. by a memory allocation failure.   If there  is  a  '?'  then  the
  245. buffer  is  bad,  otherwise  there will be a space.   Bad buffers
  246. are set to read only.
  247.  
  248.       The next flag indicates if  the  buffer  has  been  changed
  249. and  will  need  to  be  written  out  if  the  changes are to be
  250. saved.   This flag is a '*'  if  the  buffer  has  been  changed,
  251. otherwise there will be a space.
  252.  
  253.       The  next  flag  indicates  insert/overstrike mode; 'I' for
  254. insert, 'O' for overstrike.   This is only  meaningful  in  ascii
  255. or ebcdic mode.
  256.  
  257.       Then  the  buffer  name  followed  by  the  file  name.   A
  258. window can be in read only, read/write, or read/write  with  size
  259. lock.     These   will  be  displayed  as  [RO],  [RW],  or  [WL]
  260. respectively.   If auto-update  is  enabled  then  [AU]  will  be
  261. displayed.
  262.  
  263.       Next  the  cursor  position  in  bytes  and  the  character
  264. position  within  the unit.   The next piece of information gives
  265. the format that the data  is  being  displayed  in;  HEX,  OCTAL,
  266. DECIMAL,  BINARY,  ASCII,  EBCDIC.    If  a data mode is selected
  267. then the size in bytes (1, 2, 4) is displayed.   If the  data  is
  268. being   displayed   in  Intel  mode  then  the  swapped  flag  is
  269. displayed, 'S'.   Lastly the byte  shift  is  displayed;  0  only
  270. for  8  bit  data, 0 or 1 for 16 bit data, or 0, 1, 2 or 3 for 32
  271. bit data.
  272.  
  273.       There can be multiple windows on the  screen  at  the  same
  274. time but each window will have a status line at the bottom.
  275.  
  276.       The  very  bottom  line  on  the screen is the prompt line.
  277. This is where you enter data that BEAV requests.    If  you  want
  278. to  edit  a  new  file  you  would type 'Ctl-X Ctl-V', BEAV would
  279. respond with "Visit file:"  on  the  prompt  line.    The  cursor
  280. would  be  positioned  after  the  prompt.   You would then enter
  281. the name of the file that you wished to edit.
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.                               - 5  -
  294.  
  295.  
  296.  
  297.  
  298.  
  299.                          BEAV User Manual
  300.  
  301.  
  302.  
  303.       If you entered the command by mistake, you  can  abort  the
  304. operation  by  typing  a  'Ctl-G'.    'Control  G' is a universal
  305. abort command  and  can  be  used  anywhere.    If  you  want  to
  306. perform  a  search  you  will  enter  the  search  string on this
  307. line.   When you have  entered  the  information  that  BEAV  has
  308. requested  hit  'Return'  and  the  cursor  will  return  to it's
  309. original position in the window display area.   The  prompt  line
  310. is also where error messages are displayed.
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.                               - 6  -
  359.  
  360.  
  361.  
  362.  
  363.  
  364.                          BEAV User Manual
  365.  
  366.  
  367.  
  368.  2.3       Display Modes
  369.  
  370.       The  data  in  the  buffer  can be displayed in a number of
  371. formats.   First  there  is  the  display  mode.    This  can  be
  372. either; HEXADECIMAL, DECIMAL, OCTAL, BINARY, ASCII, or EBCDIC.
  373.  
  374.       If  ASCII  or  EBCDIC  mode is chosen then each byte in the
  375. buffer will be converted to it's ASCII or  EBCDIC  character  and
  376. displayed.    Bytes  that  are  outside of the standard character
  377. set  will  be  displayed  as  a  dot.    Each  line  will  be  64
  378. characters long.   The  byte  value  for  "carriage  return"  and
  379. "line   feed"   will   be   displayed  as  a  dot  as  any  other
  380. non-printable characters.
  381.  
  382.       Within HEXADECIMAL, DECIMAL, OCTAL, or  BINARY  format  the
  383. data  can  be  displayed in 8, 16 or 32 bit values.   If 16 or 32
  384. bit values are displayed  the  user  can  choose  to  view  these
  385. values  in  either  the Intel format or the Motorola format.   If
  386. Intel format is chosen then the first byte in each  unit  is  the
  387. least  significant  byte  when the value is calculated.   Thus in
  388. hex 32 bit mode  a  byte  string  of  "32  7A  9F  10"  would  be
  389. displayed  as  "109F7A32".    If  Motorola  format is chosen this
  390. value would be displayed as "327A9F10".
  391.  
  392.       There is another display format  choice  that  affects  the
  393. 16  or  32  bit  formats.   This is called shift.   The shift can
  394. be 0 or 1 for 16 bit modes, or 0, 1,  2,  3  for  32  bit  modes.
  395. Shift  moves  the  zero  point reference for the buffer up by the
  396. selected value.   The default is zero shift.    If  a  buffer  is
  397. displaying the following 32 bit hex data;
  398.  
  399.            "12345678 2F4792AF 673DFEA1 88551199"
  400.  
  401. with the shift at 0.   Changing shift to 1 will produce;
  402.  
  403.            "3456782F 4792AF67 3DFEA188 55119955"
  404.  
  405. The  data  has  been slid down toward the beginning of the buffer
  406. by one byte.   This has not changed the data  in  the  buffer  at
  407. all,  it  has only affected the way that the data is presented on
  408. the screen.   This is useful  when  looking  at  WORD  or  DOUBLE
  409. WORD data that is not aligned on two or four byte boundaries.
  410.  
  411.       When  BEAV  is  first started or a new window is opened the
  412. default format is HEXADECIMAL BYTES.
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.                               - 7  -
  424.  
  425.  
  426.  
  427.  
  428.  
  429.                          BEAV User Manual
  430.  
  431.  
  432.  
  433.  2.4       Commands
  434.  
  435.       Commands  are  the  means  that  the  user   controls   the
  436. operation  of  BEAV.   A command can be given by using one of two
  437. methods.   The first is to use the key binding.
  438.  
  439.       A command can have one or  more  associated  key  bindings.
  440. It  can  also  have  no key binding.   There are a set of default
  441. key bindings that BEAV comes configured with.   The  current  set
  442. of  key  bindings  can be seen by using the 'help' command.   The
  443. 'help' command is 'Esc ?' or Function  Key  1  'F1'  on  the  IBM
  444. PC.    The  help  buffer can be scrolled by using the up and down
  445. arrow keys.   A printed copy may be  obtained  by  going  to  the
  446. bottom  of  the help buffer using the 'move-to-end' command ('Esc
  447. >' or the 'End' key).    Then  issue  the  'print-mark-to-cursor'
  448. command  ('Esc  P' or 'Ctl-Print') and enter 'PRN' or a file name
  449. when prompted with "Print to:".   This  will  output  the  entire
  450. help  buffer  to a printer connected to the parallel interface or
  451. the specified file.
  452.  
  453.       The second method of  issuing  a  command  is  to  use  the
  454. 'extended-command'  command  (Esc  X).    You  are prompted for a
  455. command name that you want to execute.   This  method  is  useful
  456. for executing commands that have no key binding.
  457.  
  458.  
  459.  2.5       Buffers
  460.  
  461.       Buffers  are  the  in  memory  storage for all data editing
  462. and viewing.   Each buffer has a name that appears  in  the  mode
  463. line.    Buffers  generally  have  a file name that is associated
  464. with them.   The file name also appears in the mode  line.    The
  465. buffer  name  and  the  file  name are independent but the buffer
  466. name defaults to the file name.
  467.  
  468.       The buffer name is used to  refer  to  a  specific  buffer.
  469. The  'change-buffer'  ('Ctl-X  B')  command will prompt you for a
  470. buffer name.   After you enter a buffer  name  that  buffer  will
  471. be  displayed  in  the  current  window.    If  there  is no such
  472. buffer, one will be created and displayed (it will be empty).
  473.  
  474.       When BEAV is run  with  a  file  name  as  a  command  line
  475. parameter,  the  file is read into a new buffer.  The buffer name
  476. will be made the same as the file name.   The file name  is  only
  477. used  when  the  buffer  is  saved.   If the file name is changed
  478. using the 'buffer-set-file-name'  ('Ctl-X  Ctl-F')  command  then
  479. when the buffer is saved it will be saved to the new file.
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                               - 8  -
  489.  
  490.  
  491.  
  492.  
  493.  
  494.                          BEAV User Manual
  495.  
  496.  
  497.  
  498.       Buffers  are  dynamically  allocated.   They grow or shrink
  499. as the size of the data they contain changes.   The  buffer  size
  500. can  be  frozen  using  the  'buffer-size-lock'  ('Ctl-X  Ctl-L')
  501. command.    This  prevents  inserting  or  deleting data from the
  502. buffer but data can be modified.
  503.  
  504.       Buffers continue to  exist  even  if  they  are  not  being
  505. displayed.    Buffers  are  saved  in  a  linked list that can be
  506. stepped through using the 'change-to-next-buffer'  ('Esc  +')  or
  507. 'change-to-prev-buffer'    ('Esc    -')    commands.     If   the
  508. 'change-to-next-buffer' command is given  then  the  next  buffer
  509. in the list is displayed in the current window.
  510.  
  511.  
  512.  2.6       Files
  513.  
  514.       Files  are  the  means  of storing data on disk.   Files or
  515. segments of  files  can  be  loaded  into  BEAV  for  editing  or
  516. viewing.    The  file on the disk has not been changed until BEAV
  517. does a save to that file.   When a save to a  file  is  performed
  518. the original file contents in saved in a ".bak" file.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.                               - 9  -
  554.  
  555.  
  556.  
  557.  
  558.  
  559.                          BEAV User Manual
  560.  
  561.  
  562.  
  563.  
  564.  2.7  Key Binding
  565.  
  566.       All  commands  in  BEAV  have  a command name and a default
  567. key binding.   The bindings  may  be  changed  to  suit  personal
  568. preference  by  using  the 'bind-to-key' ('Esc K') command.   The
  569. current binding of a key sequence can be displayed by  using  the
  570. 'binding-for-key' ('Ctl-X ?') command.
  571.  
  572.       Key  bindings  can  be  loaded  automatically  from  a file
  573. named "beavrc".   This file must be in a directory  specified  by
  574. the  PATH  environment variable.   When BEAV is started this file
  575. is read and the bindings are loaded.    This  file  is  a  simple
  576. text file and can be edited to make changes.
  577.  
  578.       The  beavrc  file  contains  three  columns.   The first is
  579. the function name to be bound.   The second is the  key  sequence
  580. that  is  bound  to  that  function.   The third is a number that
  581. defines the key code.   Then the beavrc  file  is  read  in  only
  582. the first and third columns are used.
  583.  
  584.       The  simplest  way  to  create  a  valid  beavrc file is to
  585. first bind the key codes  to  the  desired  functions  using  the
  586. bind-to-key  command.    Next  display  the current bindings in a
  587. window using the help command (Esc ?).    Now  save  that  buffer
  588. to  a  file with the file-write command (Ctl-X Ctl-W).   You will
  589. be prompted for a file name.    This  is  a  valid  beavrc  file.
  590. You  may  want  to  edit  the beavrc file to remove the commented
  591. lines, those beginning with #, to make it load faster.
  592.  
  593.       On unix systems there can be  multiple  beavrc  files,  one
  594. for  each  terminal type.   This is accomplished by appending the
  595. TERM variable to beavrc.   Thus if you use both  a  vt100  and  a
  596. wyse60   terminal,   you   could   have   a   beavrc.wy60  and  a
  597. beavrc.vt100  bindings  file.    When  your  TERM   variable   is
  598. TERM=wy60  then  the beavrc.wy60 bindings file will be used.   If
  599. there is no beavrc.wy60 file then the beavrc file will be used.
  600.  
  601.  
  602.  2.8  Configuration
  603.  
  604.       When the MSDOS version of BEAV run it detects  whether  the
  605. system  is  an  IBM  PC  or a clone.   If a PC is detected then a
  606. set of key bindings  that  use  the  10  function  keys  and  the
  607. relevant   keypad  keys  are  loaded.    If  the  system  is  not
  608. recognized then only the standard bindings are loaded.
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.                               - 10 -
  619.  
  620.  
  621.  
  622.  
  623.  
  624.                          BEAV User Manual
  625.  
  626.  
  627.  
  628.       If a PC is detected the screen is managed  by  making  BIOS
  629. level  calls  that  enhance  performance.   Otherwise, the screen
  630. is controlled by making ANSI compatible calls  to  the  operating
  631. system.    This  is  much slower but is not sensitive to hardware
  632. configuration.   This requires that  non-standard  MSDOS  systems
  633. support  ANSI  display  controls.    The  following  ANSI  escape
  634. sequences are used;
  635.  
  636.       Position cursor          ESC [ <row> ; <column> H
  637.  
  638.       Erase to end of line     ESC [ 0 K
  639.  
  640.       Erase to end of page     ESC [ 0 J
  641.  
  642.       Normal video             ESC [ 0 m
  643.  
  644.       Reverse video            ESC [ 7 m
  645.  
  646.       On  unix  systems  the  termcap  library  is  used.    This
  647. requires that the TERM environment variable be set correctly.
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.                               - 11 -
  684.  
  685.  
  686.  
  687.  
  688.  
  689.                          BEAV User Manual
  690.  
  691.  
  692.  
  693.  
  694. 3.    Command Description
  695.  
  696.       This  section  describes  all  BEAV  commands  as  to their
  697. function and any side effects that they  may  have.    The  first
  698. line  of  each  description  of  a  command  will  begin with the
  699. default key binding then the command name and  follows  with  the
  700. key binding for a PC for the MSDOS version.
  701.  
  702.  3.1  Help
  703.  
  704.       This  command  returns information that will aid in the use
  705. of BEAV.
  706.  
  707.       Esc ?          help                     F1
  708.  
  709.       A new window is opened  by  splitting  the  current  window
  710. then  all  current  key  bindings are displayed.   This buffer is
  711. larger than can be shown at one time  and  must  be  scrolled  up
  712. and  down  to  see all entries.    All commands that do not alter
  713. data can be used to move  around  and  search  the  help  buffer.
  714. To   leave  the  help  buffer  use  the  'window-delete'  command
  715. ('Ctl-X 0').
  716.  
  717.       Lines  that  begin  with  the  comment  character  (#)  are
  718. commands that have the  default  bindings.    Lines  without  the
  719. comment  character  have  been bound by the user or by processing
  720. a beavrc file.    The  comment  character  helps  in  creating  a
  721. beavrc   file  by  identifying  only  those  bindings  that  have
  722. changed.
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.                               - 12 -
  749.  
  750.  
  751.  
  752.  
  753.  
  754.                          BEAV User Manual
  755.  
  756.  
  757.  
  758.  3.2  Cursor Movement
  759.  
  760.       There are  a  number  of  commands  that  move  the  cursor
  761. around  the  current window.   If the cursor bumps the top or the
  762. bottom  of  the  window  the  position  of  the  window  will  be
  763. adjusted so as to keep the cursor within the bounds.    When  the
  764. window  is  moved  in response to cursor movements it is moved by
  765. about one third of the window size.   This  improves  performance
  766. by reducing the number of window moves.
  767.  
  768.       Ctl-P          move-back-line           North (up arrow)
  769.       Ctl-N          move-forw-line           South (down arrow)
  770.  
  771.       These  commands  move  the  cursor  up one line or down one
  772. line.   If the cursor is on the top line  in  the  buffer  and  a
  773. 'move-back-line'  command  is  given  the cursor will jump to the
  774. beginning of the first unit in the buffer.    If  the  cursor  is
  775. on  the  last  line of the buffer and a 'move-forw-line' is given
  776. the cursor will move to the last unit in the buffer.
  777.  
  778.       Ctl-F          move-forw-char           East (right arrow)
  779.       Ctl-B          Move-back-char           West (left arrow)
  780.  
  781.       These commands move the cursor forward or backward  in  the
  782. current  line.    If  the cursor is at the first character in the
  783. first unit of  the  line  and  the  'move-back-char'  command  is
  784. given  then  the  cursor  will  wrap to the last character of the
  785. previous line.   If the cursor is at the last  character  of  the
  786. last  unit  in  the  current  line then it will wrap to the first
  787. character of the next line.
  788.  
  789.       Esc F          move-forw-unit           Ctl-East
  790.       Esc B          move-back-unit           Ctl-West
  791.  
  792.       These commands are similar to the above set but  they  move
  793. the  cursor  by  units  rather  than  characters.    The  command
  794. 'move-forw-unit'   will   position   the   cursor  to  the  first
  795. character of the next unit.   The command  'move-back-unit'  will
  796. move the cursor to the first character of the previous unit.
  797.  
  798.       Ctl-V          move-forw-page           PageUp
  799.       Esc V          move-back-page           PageDown
  800.  
  801.       These  commands  move  the  move  the data in the window by
  802. the number of lines in the window less  one.    The  cursor  will
  803. stay  in  the same position relative to the window as the data is
  804. moved.
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.                               - 13 -
  814.  
  815.  
  816.  
  817.  
  818.  
  819.                          BEAV User Manual
  820.  
  821.  
  822.  
  823.       Esc <          move-to-beginning        Home
  824.       Esc >          move-to-end              End
  825.  
  826.       Move the cursor to the beginning or the end of the buffer.
  827.  
  828.       Ctl-X G        move-to-byte             F9
  829.  
  830.       Prompt for a byte offset, then go to that position  in  the
  831. current buffer.
  832.  
  833.       Ctl-X Ctl-N    move-window-down         Ctl-Z
  834.       Ctl-X Ctl-P    move-window-up           Esc Z
  835.  
  836.       Move  the  buffer  in  the  window  up or down by one line.
  837. This does not effect the cursor until it hits the top  or  bottom
  838. of the window.
  839.  
  840.       Esc .          mark-set                 F2
  841.  
  842.       Set  the  mark  position  to  the  current cursor position.
  843. The mark position is remembered even for  nonactive  windows  and
  844. buffers.
  845.  
  846.       Ctl-X Ctl-X    swap-cursor-and-mark
  847.  
  848.       The  position  of  the  cursor and the position of the mark
  849. are swapped.
  850.  
  851.       Esc L          window-link
  852.  
  853.       This command causes all windows  that  are  displaying  the
  854. contents   of   the  current  buffer  to  have  the  same  cursor
  855. position.   Thus  if  one  window  is  scrolled  then  all  other
  856. windows  that  display that buffer are scrolled so as to keep the
  857. cursor in the window.
  858.  
  859.       Ctl-X =        show-position
  860.  
  861.       The current  position  of  the  cursor  and  the  mark  are
  862. displayed.    The  buffer  size, file size and file name are also
  863. shown.
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.                               - 14 -
  879.  
  880.  
  881.  
  882.  
  883.  
  884.                          BEAV User Manual
  885.  
  886.  
  887.  
  888.  3.3  Buffer Management
  889.  
  890.       Buffers store all data that is  being  edited.    The  only
  891. limit  to  the  number  of  buffers  is  the  size  of  available
  892. memory.    If  a  file  is  loaded  into  a  buffer  and there is
  893. insufficient memory to hold the entire  file,  then  it  will  be
  894. loaded  until  memory is exhausted.   The buffer will then be set
  895. to read only mode.
  896.  
  897.       Ctl-X Ctl-B    buffers-display          Ctl-F1
  898.  
  899.       A new window is opened and a list of all  buffers  in  BEAV
  900. is  displayed.    The  list  contains  the  buffer name, the file
  901. name (if it exists), the buffer size,  and  a  state  flag.    If
  902. the  list  is too large for the window, you can go to that window
  903. and scroll the list.
  904.  
  905.       Ctl-X B        change-buffer            Ctl-F2
  906.  
  907.       This command prompts  you  for  a  buffer  name.    If  you
  908. enter  the  name  of  an  existing  buffer,  that  buffer will be
  909. displayed in the current window.   If the  name  does  not  match
  910. an   existing   buffer,   a   new  buffer  will  be  created  and
  911. displayed.   This buffer will be empty  and  will  have  no  file
  912. name.
  913.  
  914.       Esc +          change-to-next-buffer    Ctl-F4
  915.       Esc -          change-to-prev-buffer    Ctl-F5
  916.  
  917.       The  next  or  the  previous  buffer  in the buffer list is
  918. displayed in the current window.   This does not  effect  buffers
  919. that are displayed in other windows.
  920.  
  921.       Esc G          move-to-buffer-split
  922.  
  923.       Prompt  for  a buffer name.   Then split the current window
  924. and display that buffer, creating it if necessary.
  925.  
  926.       Esc Ctl-N      buffer-set-name          Esc Ctl-N
  927.  
  928.       The current buffer name is changed to  the  name  that  you
  929. enter.   This does not effect the file name.
  930.  
  931.       Ctl-X Ctl-F    buffer-set-file-name     Ctl-F7
  932.  
  933.       The  file  name  of  the  current  buffer is changed to the
  934. name that you enter.   This does not affect the buffer name.
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.                               - 15 -
  944.  
  945.  
  946.  
  947.  
  948.  
  949.                          BEAV User Manual
  950.  
  951.  
  952.  
  953.       Ctl-X K        kill-buffer              Ctl-F3
  954.  
  955.       This command prompts you for a buffer name.    This  buffer
  956. is  then  deleted.    If  the buffer is currently being displayed
  957. you are prompted for  conformation.    If  the  buffer  has  been
  958. changed you are again prompted for conformation.
  959.  
  960.       Ctl-X Ctl-L    buffer-size-lock
  961.  
  962.       The  buffer  size  is  prevented from being changed.   Data
  963. can be edited but only by changing  the  existing  data.    If  a
  964. buffer  is  copied  into  a size-locked buffer the operation well
  965. be successful but will overwrite existing  data.    This  command
  966. toggles between locked and unlocked.
  967.  
  968.       Esc Y          yank-buffer              Ctl-F6
  969.  
  970.       Data  from  one  buffer is inserted into the current buffer
  971. at the cursor position.   You are prompted for the  name  of  the
  972. buffer to copy from.
  973.  
  974.       Esc O          save-mark-to-cursor
  975.  
  976.       Prompt  for  a buffer name.   Create a new buffer with that
  977. name and write the data from the mark to  the  cursor  into  that
  978. buffer.
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.                               - 16 -
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.                          BEAV User Manual
  1015.  
  1016.  
  1017.  
  1018.  3.4  File Management
  1019.  
  1020.       These  commands  control  BEAV's  access  to files.   Files
  1021. are loaded into buffers or are written from  buffers.    Commands
  1022. that  prompt  for  a  file  name  also  accept  range parameters.
  1023. Range parameters are always given in  the  numeric  base  of  the
  1024. current  window.    Thus  if  you  are displaying data in decimal
  1025. format then the range parameters must be entered in decimal.
  1026.  
  1027.       The size of  a  file  read  or  write  can  be  limited  by
  1028. specifying  a  range.    The range parameter specifies the offset
  1029. into  the  file,  not  the  buffer.    Range  parameters  can  be
  1030. specified in these forms;
  1031.  
  1032.       <file name> <start address>
  1033.  
  1034.       <file name> <start address> <end address>
  1035.  
  1036.       <file name> <start address> +<length>
  1037.  
  1038.       The first form causes the read or write to begin  from  the
  1039. <start  address>  value  until  the end of the buffer on write or
  1040. the end of the file on read.
  1041.  
  1042.       The second  form  reads  or  writes  from  <start  address>
  1043. until <end address> non-inclusive.
  1044.  
  1045.       The  third  form  reads  or writes from <start address> for
  1046. <length> bytes.
  1047.  
  1048.       Thus, if the command 'file-read' is  given  and  you  enter
  1049. at  the  prompt;    main.obj  1000 +100.   If the current display
  1050. mode is hex, the file "main.obj"  will  be  read  from  hex  byte
  1051. address 1000 to 10FF into the buffer.
  1052.  
  1053.       Ctl-X Ctl-R    file-read                Sh-F2
  1054.  
  1055.       Prompt  for  a  file  name  and  read  that  file  into the
  1056. current buffer.   This overwrites the  current  contents  of  the
  1057. buffer.    The  buffer  name  is  not changed but the buffer file
  1058. name is set to the new file name.
  1059.  
  1060.       Ctl-X Ctl-S    file-save                Sh-F3
  1061.  
  1062.       Write the current buffer out to the file  if  it  has  been
  1063. changed.   If the buffer has not been changed then do nothing.
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.                               - 17 -
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.                          BEAV User Manual
  1080.  
  1081.  
  1082.  
  1083.       Ctl-X V        file-view
  1084.  
  1085.       Prompt  for  a  file  name  and read file into a new buffer
  1086. and display in current window.   Set to read-only mode.
  1087.  
  1088.       Ctl-X Ctl-V    file-visit               Sh-F4
  1089.  
  1090.       Prompt for a file name.    If  the  buffer  already  exists
  1091. then  display  it  in  the current window.   Otherwise, read file
  1092. into a new buffer and display in current window.    If  there  is
  1093. no such file then create it.
  1094.  
  1095.       Esc U          file-visit-split
  1096.  
  1097.       Same  as  above  but  split  current window and display new
  1098. buffer.   This displays  the  new  buffer  as  well  as  the  old
  1099. buffer.
  1100.  
  1101.       Ctl-X Ctl-W    file-write               Sh-F5
  1102.  
  1103.       Prompt  for  a  file name, then write the current buffer to
  1104. that file.
  1105.  
  1106.       Ctl-X Tab      insert-file              Sh-F8
  1107.  
  1108.       Prompt for a file  name  and  insert  that  file  into  the
  1109. current buffer at the cursor position.
  1110.  
  1111.       Ctl-X Return   save-all-buffers         Sh-F6
  1112.  
  1113.       Write   all   buffers  that  have  been  changed  to  their
  1114. respective files.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.                               - 18 -
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.                          BEAV User Manual
  1145.  
  1146.  
  1147.  
  1148.  3.5                 Window Management
  1149.  
  1150.       BEAV presents information  to  the  user  in  one  or  more
  1151. windows.    Each  window  is  a view into a buffer where the data
  1152. is actually stored.    The  window  controls  how  this  data  is
  1153. formatted  for  display  to  the user.   Data can be displayed as
  1154. HEX bytes, OCTAL  bytes,  ASCII  characters,  plus  many  others.
  1155. The  display  format  is  associated with the window.   Thus if a
  1156. new buffer is displayed in  the  current  window  that  new  data
  1157. will be displayed in the current windows format.
  1158.  
  1159.       The  only  limit  to  the  number  of windows is the screen
  1160. size.   A window can be no smaller than two lines.    This  along
  1161. with  the  mode  line associated with each window limits to eight
  1162. the number of windows on an IBM PC 25 line screen.
  1163.  
  1164.       Any window  can  view  any  buffer  including  having  many
  1165. windows  on  the  same  buffer.    For  example,  two windows can
  1166. display the same buffer but present the  data  in  two  different
  1167. modes.    One  window could display HEX bytes and the other could
  1168. display ASCII characters.
  1169.  
  1170.       Ctl-P          change-window-back       Ctl-PageUp
  1171.       Ctl-N          change-window-forw       Ctl-PageDown
  1172.  
  1173.       These commands move the cursor  to  the  next  or  previous
  1174. window on the screen, making it the current window.
  1175.  
  1176.       Ctl-X Z        window-enlarge
  1177.       Ctl-X Ctl-Z    window-shrink
  1178.  
  1179.       Enlarge or shrink the current window size by one line.
  1180.  
  1181.       Esc !          window-reposition
  1182.  
  1183.       Move  window  position  so  that  the cursor is centered in
  1184. the window.   The cursor position in the buffer does not change.
  1185.  
  1186.       Ctl-X 2        window-split
  1187.  
  1188.       Split the current window into  equal  parts.    Both  haves
  1189. have the same display mode and view the save buffer.
  1190.  
  1191.       Ctl-X 1        window-single
  1192.  
  1193.       Expand  the  current window to fill the entire display, all
  1194. other windows are removed.   Make the  current  window  the  only
  1195. window   displayed.    This  has  no  effect  on  the  underlying
  1196. buffers except that they may not be displayed any more.
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.                               - 19 -
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.                          BEAV User Manual
  1210.  
  1211.  
  1212.  
  1213.       Ctl-X 0        window-delete
  1214.  
  1215.       Delete the current window and expand the  upper  window  to
  1216. fill  the  space.    This  has no effect on the underlying buffer
  1217. except that it may not be displayed any more.
  1218.  
  1219.       Esc Ctl-A      display-ascii
  1220.       Esc Ctl-E      display-ebcdic
  1221.       Esc Ctl-H      display-hex
  1222.       Esc Ctl-O      display-octal
  1223.       Esc Ctl-D      display-decimal
  1224.       Esc Ctl-B      display-binary
  1225.  
  1226.       These  commands  set  the  window  display   mode.     Text
  1227. buffers   can   be  displayed  as  ASCII  or  EBCDIC  characters.
  1228. Buffers that are not human readable  can  also  be  displayed  in
  1229. hexadecimal, octal, decimal, or binary format.
  1230.  
  1231.       Esc 1          display-bytes
  1232.       Esc 2          display-words
  1233.       Esc 4          display-double-words
  1234.  
  1235.       As  a  further  option  on the non-text display modes, data
  1236. can be displayed as 8, 16, or 32 bit values.
  1237.  
  1238.       Ctl-E          display-swap-order
  1239.  
  1240.       When data is displayed as words or double words  the  order
  1241. of  significance  can  be changed.   In Intel microprocessors the
  1242. least significant  byte  of  a  word  is  stored  at  the  lowest
  1243. address.    Thus  if  the  word  5892 (HEX) were stored at memory
  1244. address 10, then 92 (HEX) would be stored at address  10  and  58
  1245. (HEX)   would   be   stored   at   address   11.     In  Motorola
  1246. microprocessors the reverse is true.
  1247.       This  command  toggles  between  the  Intel  and   Motorola
  1248. schemes  of  assembling bytes into words and double words.   This
  1249. command has no effect on byte display  or  on  the  text  display
  1250. modes.   The data in the buffer is not changed.
  1251.  
  1252.       Ctl-A          display-byte-shift
  1253.  
  1254.       This  command  changes the offset from the beginning of the
  1255. buffer used to assemble words and  double  words.    The  default
  1256. shift  is  0.    For example, a double word at address 10 is made
  1257. up of the bytes at address 10, 11, 12, and  13.    With  a  shift
  1258. of  1  that  double  word  would be made of bytes 11, 12, 13, and
  1259. 14.   With a shift of 2 then bytes 12, 13, 14, and  15  would  be
  1260. used.    The  maximum  shift  in word display mode is one and the
  1261. maximum shift in double word mode is three.
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.                               - 20 -
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.                          BEAV User Manual
  1275.  
  1276.  
  1277.  
  1278.       The buffer is in effect shifted  toward  the  beginning  of
  1279. the  buffer  with  1, 2, or 3 bytes becoming not visible.   These
  1280. bytes are not lost, they become visible when  the  shift  is  set
  1281. to  zero.    This  command  cycles  through  all  possible  shift
  1282. values.    There  is  no  effect  in any byte display mode or any
  1283. text display mode.
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.                               - 21 -
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.                          BEAV User Manual
  1340.  
  1341.  
  1342.  
  1343.  3.6                 Inserting and deleting
  1344.  
  1345.       These commands are  the  core  of  BEAV.    These  commands
  1346. allow  the  buffer  to  be  edited in a similar fashion to a text
  1347. editor.   BEAV has an insert mode much the same as  text  editors
  1348. but  it  only  works  when  displaying  data  in  one of the text
  1349. modes, either ASCII or EBCDIC.   In other modes it  doesn't  make
  1350. any  sense  to  insert characters as they are typed when there is
  1351. more than one characters per unit.   In the data modes  there  is
  1352. a  command  that  inserts  a  unit  of  zeros  into  the  buffer.
  1353. Similarly  the  delete  commands always delete a unit rather than
  1354. a character.   In a text mode the delete commands work  as  in  a
  1355. text editor because a unit is a character.
  1356.  
  1357.       Ctl-X I        insert-unit
  1358.  
  1359.       Insert  a  zero  at  the cursor position.   The rest of the
  1360. data moves down one place.   Thus,  if  double  words  are  being
  1361. displayed,   four   bytes   are   inserted   before   the  cursor
  1362. position.   These bytes are initialized to zero.    This  command
  1363. works in all display modes.
  1364.  
  1365.       Ctl-X Ctl-A    insert-toggle            Insert
  1366.  
  1367.       In  either  of  the  two  text  modes  this command toggles
  1368. between insert mode and overwrite mode.    In  insert  mode  each
  1369. character  that  is  typed is inserted in front of the cursor and
  1370. the rest of the buffer is moved down.    In  overwrite  mode  the
  1371. typed  characters  replace  the  character that is at the cursor.
  1372. This command has no effect in a non-text display mode.
  1373.  
  1374.       Ctl-Q          insert-literally         Esc Q
  1375.  
  1376.       This command sets a special temporary mode where  the  next
  1377. typed  character  is  inserted  in  the buffer no matter what the
  1378. character is.   This allows control codes to be inserted  in  the
  1379. buffer  when  in  a  text  display mode.   Alternatively the same
  1380. byte could be inserted into the buffer by using one of  the  data
  1381. display  modes.    It might be faster to use this command on some
  1382. occasions.
  1383.  
  1384.       Ctl-T          unit-twiddle
  1385.  
  1386.       The unit at the cursor is swapped with the previous unit.
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.                               - 22 -
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.                          BEAV User Manual
  1405.  
  1406.  
  1407.  
  1408.       Rubout         delete-back-char         Backspace
  1409.  
  1410.       This command deletes the character before  the  cursor  and
  1411. pulls  the  rest  of the buffer back.   The cursor remains on the
  1412. same character as it moves back.   It  only  works  in  the  text
  1413. and byte display modes.
  1414.  
  1415.       Ctl-D          delete-forw-char         Delete
  1416.  
  1417.       The  character  at  the cursor is deleted and the buffer is
  1418. pulled back.   The cursor remains  at  the  same  position.    It
  1419. only works in the text and byte display modes.
  1420.  
  1421.       Esc Rubout     delete-back-unit         Esc Ctl-K
  1422.  
  1423.       This  command  deletes the unit before the cursor and pulls
  1424. the rest of the buffer back.   The cursor  remains  on  the  same
  1425. unit as it moves back.
  1426.  
  1427.       Esc D          delete-forw-unit
  1428.  
  1429.       The  unit  at  the  cursor  is  deleted  and  the buffer is
  1430. pulled back.   The cursor remains at the same position.
  1431.  
  1432.       Esc W          copy-mark-to-cursor      F7
  1433.  
  1434.       The area in  the  buffer  from  the  mark  to  the  current
  1435. cursor  position  is  copied  into the kill buffer.   If the mark
  1436. is not set before this command is given an error is reported.
  1437.  
  1438.       Ctl-W          delete-mark-to-cursor    F8
  1439.  
  1440.       The area in  the  buffer  from  the  mark  to  the  current
  1441. cursor  position  is  deleted  and  placed  into the kill buffer.
  1442. If the mark is not set before this command is given an  error  is
  1443. reported.
  1444.  
  1445.       Ctl-Y          yank                     F6
  1446.  
  1447.       The  contents  of  the  kill  buffer  is  inserted into the
  1448. buffer at the cursor position.   The kill buffer  itself  is  not
  1449. changed.
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.                               - 23 -
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.                          BEAV User Manual
  1470.  
  1471.  
  1472.  
  1473.  3.7  Search and Replace Commands
  1474.  
  1475.       BEAV  has  very powerful search and replace commands.   The
  1476. search and replace string can be entered in any  of  the  display
  1477. modes.    The  search  and  replace strings can each be up to 256
  1478. bytes long.   The display mode can be changed at any  time  while
  1479. entering  the  string.   Wild cards can be placed down to the bit
  1480. level on both the search and replace  strings.    The  wild  card
  1481. character, '?', will match any value that it is compared with.
  1482.  
  1483.       When  a  wild  card  is  placed  in  the  replace string it
  1484. leaves the destination data unchanged at that  position.    Thus,
  1485. if  the  destination  contains the ASCII string '41 42 43 44' and
  1486. the replace string contains '66 67 ?? 69'  the  result  would  be
  1487. '66 67 43 69'.
  1488.  
  1489.       Wild  cards  can  be  placed  in  any  position  that makes
  1490. sense.   If you want to use wild cards in an  ASCII  string  then
  1491. you  must  switch  to  another mode to enter them.   You can then
  1492. switch back to ASCII mode.   In this case a '?'  will  appear  in
  1493. the  position  where the wild card has been placed but it appears
  1494. exactly the same as a standard question mark.   In  fact  if  you
  1495. type  a  '?'  over  the  wild  card  there  will  be  no apparent
  1496. change.   However, the character will no longer be  a  wild  card
  1497. but  a  standard  question mark.   To see the true wild cards you
  1498. must use a data display mode.   In fact  if  the  wild  card  has
  1499. been  set  on  the  bit  level then you must go to binary display
  1500. mode to see its actual position.
  1501.  
  1502.       The commands to change  the  display  mode  in  search  and
  1503. replace  are  the  same  as  for  the  window display mode.   The
  1504. search and replace strings can be  scrolled  back  an  forth  and
  1505. the  cursor  moved  using  the  same  commands as for the window.
  1506. While performing a replace command you  can  switch  between  the
  1507. search  string  and  replace string by using the 'move-back-page'
  1508. or 'move-forw-page' commands.
  1509.  
  1510.       Esc S          search-forw              F3
  1511.  
  1512.       Prompts  for  a  search  string  then  searches  from   the
  1513. current  cursor  position  for  the  first match.   The cursor is
  1514. positioned at the first unit of the match.
  1515.  
  1516.       Esc R          search-back
  1517.  
  1518.       This command is the same as the previous  one  except  that
  1519. it searches backward.
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.                               - 24 -
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.                          BEAV User Manual
  1535.  
  1536.  
  1537.  
  1538.       Esc T          search-again             F4
  1539.  
  1540.       This  command  repeats the previous search command, forward
  1541. or backward.    The  cursor  is  first  moved  one  byte  in  the
  1542. appropriate direction before the search is repeated.
  1543.  
  1544.       Esc %          replace                  F5
  1545.  
  1546.       Prompt  for  search  string.    After  entering  the search
  1547. string hit return and  you  will  be  prompted  for  the  replace
  1548. string.    After  entering  the replace string hit return.   BEAV
  1549. will then search for the first  match  with  the  search  string.
  1550. If  a  match  is  found  you  will  be  prompted with '(R)eplace,
  1551. (S)kip, (A)ll, (O)ne, (Q)uit'
  1552.  
  1553.       If you type  a  'R'  the  replace  will  be  done  at  this
  1554. location  and  the  search will continue.   If you type a 'S' the
  1555. replace will not be done  and  search  will  continue.    If  you
  1556. type  an  'A'  the  replace  will be done and will be done at all
  1557. future matches without pausing for conformation.    If  you  type
  1558. an  'O'  the replace will be done at this location and the search
  1559. will  stop.    If  you  type  a  'Q'  then  the  search  will  be
  1560. terminated.
  1561.  
  1562.       Ctl-R          recall-srch-string
  1563.  
  1564.       If you enter search  or  replace  previously  used  strings
  1565. can be recalled with this command.
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.                               - 25 -
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.                          BEAV User Manual
  1600.  
  1601.  
  1602.  
  1603.  3.8  Exiting BEAV
  1604.  
  1605.       While  using  BEAV  individual buffers may be saved to disk
  1606. during the editing session.   When quitting BEAV  you  must  save
  1607. all  buffers  or  delete  all  buffers.    There are two commands
  1608. that that do this.
  1609.  
  1610.       Ctl-C          quit-no-save             Sh-F10
  1611.  
  1612.       If there are any unsaved buffers you will be  prompted  for
  1613. conformation  before  proceeding.    All  buffers will be deleted
  1614. then you will exit.
  1615.  
  1616.       Ctl-X Ctl-E    quit-save-all            Sh-F9
  1617.  
  1618.       All buffers are saved before exiting.
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.                               - 26 -
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.                          BEAV User Manual
  1665.  
  1666.  
  1667.  
  1668.  3.9  Printing
  1669.  
  1670.       The data that is being displayed in  BEAV  can  be  printed
  1671. or  sent  to  a  file  in  the same format as displayed.   If the
  1672. current window is displaying octal words and a print  command  is
  1673. given  the  format  of  the  print  will  be in the format of the
  1674. window; that is, octal words.
  1675.  
  1676.       Esc P          print-mark-to-cursor     Ctl-Print
  1677.  
  1678.       To use this command you must set the mark  and  the  cursor
  1679. to  define  the  region  that  you want printed.   If the mark is
  1680. not set it as assumed to be at the  first  unit.    The  position
  1681. of  the  mark  and  cursor  are  rounded  to  include  the entire
  1682. specified  line  unlike  the   other   mark-to-cursor   commands.
  1683. After  you  enter  the  command  you will be prompted with 'Print
  1684. to:'.   You can enter a file name or a device name  to  send  the
  1685. print  image  to.    If you enter 'PRN' most systems will print a
  1686. hard copy.
  1687.  
  1688.       This is useful for getting a print out of the  current  key
  1689. bindings.    To  do  this  give  the 'help' command 'F1'.   Go to
  1690. the bottom of the help window  using  the  'move-to-end'  command
  1691. 'End',  the  mark  will  be assumed to be at the beginning of the
  1692. buffer.    Issue  the  'print-mark-to-cursor'  command.     Enter
  1693. 'PRN'  at  the  prompt.    This  should  print  the complete help
  1694. buffer and will reflect any changes that you  have  made  to  the
  1695. key bindings.
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.                               - 27 -
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.                          BEAV User Manual
  1730.  
  1731.  
  1732.  
  1733.  3.10 Keyboard Macros
  1734.  
  1735.       BEAV  has  the  capability of recording key strokes as they
  1736. are entered and playing them back later.    This  is  useful  for
  1737. repeating multi-keystroke operations.
  1738.  
  1739.       Ctl-X (        macro-start
  1740.  
  1741.       Start  recording  key  strokes.   There is no effect on the
  1742. operation  of  the  key  strokes.    Any  previous  recorded  key
  1743. strokes are cleared.
  1744.  
  1745.       Ctl-X )        macro-end
  1746.  
  1747.       Stop  recording  key  strokes.    The   key   strokes   are
  1748. available for play back.
  1749.  
  1750.       Ctl-X E        macro-execute
  1751.  
  1752.       Play  back  the  recorded  key  strokes.    The key strokes
  1753. that were recorded are played back as if they were typed  at  the
  1754. keyboard.
  1755.  
  1756.  
  1757.  3.11 Key Binding
  1758.  
  1759.       BEAV   provides   a   user  configurable  interface.    The
  1760. interface  is  controlled  by  a  set  of  key  bindings.    This
  1761. relates the command that will be executed when a  particular  key
  1762. stroke  is  entered.   There are a set of default key bindings as
  1763. described in this manual.    These  can  be  changed  to  reflect
  1764. your  preferences.    When  a  change  is made it is reflected in
  1765. the help screen.
  1766.  
  1767.       Ctl-X ?        binding-for-key          Sh-F1
  1768.  
  1769.       This command will tell you  what  function  a  certain  key
  1770. sequence  is  bound  to.   When this command is given you will be
  1771. prompted for a key stroke or key  stroke  sequence.    BEAV  will
  1772. report back with the function name.
  1773.  
  1774.       Esc K          bind-to-key
  1775.  
  1776.       First  you  will  prompted for a function name.   Enter the
  1777. name of the function that  you  wish  to  create  a  new  binding
  1778. for.    Function  names  are the names listed in this manual that
  1779. are of the form of  'move-forw-unit'  or  'display-hex'.    After
  1780. you  enter  the  name  hit  return.    You will be prompted for a
  1781. key.   This can be in the form of a single standard key  such  as
  1782. 'Z'.   Standard key sequences can be entered such as 'Ctl-X Z' 
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.                               - 28 -
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.                          BEAV User Manual
  1795.  
  1796.  
  1797.  
  1798. or   'Esc  Z'.    Special  keys  can  be  entered  such  as  'F1'
  1799. (function key 1) or 'Page Down'.   It is  probably  a  good  idea
  1800. to  not  use keys that are needed for editing.   If you bound 'Z'
  1801. to a function then you would  not  be  able  to  enter  it  as  a
  1802. keystroke  when  using  ASCII  display  mode.    You  could still
  1803. enter it using the 'insert-literally'  command  or  doing  it  in
  1804. one of the data display modes but this would be more cumbersome.
  1805.  
  1806.       Ctl-X L        bindings-load
  1807.  
  1808.       You  are  prompted  for  a  file name that contains the key
  1809. binding that you wish to set.   This file  is  read  in  and  the
  1810. appropriate  bindings  are  set.    The  text in the binding file
  1811. should be of the form;
  1812.  
  1813. <key name>            <function name>    <key code>
  1814.  
  1815.       For example;
  1816.  
  1817. Ctl-X Ctl-P           move-back-char     0550
  1818. F1                    move-forw-char     04bb
  1819. Ctl-A                 move-forw-unit     0141
  1820. Esc Ctl-T             move-back-unit     0354
  1821.  
  1822.       The easiest way of producing a valid key  binding  file  is
  1823. to  set  the  desired  bindings  in BEAV.   Next issue the 'help'
  1824. command (ESC ?), then write the buffer out  with  the  file-write
  1825. command  (Ctl-X  Ctl-W).    The  file  created  will  be  a valid
  1826. format for loading and can be edited  as  desired.    It  is  the
  1827. only way to reliably get the <key code> number.
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.                               - 29 -
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.                          BEAV User Manual
  1860.  
  1861.  
  1862.  
  1863.  3.12 Special Functions
  1864.  
  1865.       These  are  the  commands  that  do not logically fit under
  1866. one of the previous headings
  1867.  
  1868.       Ctl-G          abort-cmd                F10
  1869.  
  1870.       This command aborts the  current  command.    It  can  even
  1871. abort  a  partially entered command.   Thus, if you have typed an
  1872. 'Esc' as that start of a command you can  type  Ctl-G  to  return
  1873. to the normal command entry mode.
  1874.  
  1875.       Esc A          auto-save
  1876.  
  1877.       BEAV  can  be  set to automatically save the current buffer
  1878. after  a  specified  number  of  buffer  editing   commands   are
  1879. given.     This   command   first   prompts  for  the  number  of
  1880. operations before the save is made.   If a  zero  is  entered  at
  1881. the  prompt,  this  feature  is disabled.   The default condition
  1882. of this command is disabled.
  1883.  
  1884.       Esc C          compare
  1885.  
  1886.       This is a powerful feature of BEAV.   The contents  of  two
  1887. windows  are  compared  byte  for  byte  from  the current cursor
  1888. position in each window.   There must be exactly two  windows  to
  1889. use  this  command.   These windows can be displaying the same or
  1890. different buffers.   When a difference is  found  the  cursor  in
  1891. each  window  is  moved  to  that  position  and both windows are
  1892. moved  accordingly.    The  display  mode  does  not  affect  the
  1893. operation of  this  command  except  in  restricting  the  cursor
  1894. position to whole units.
  1895.  
  1896.       Esc X          extended-command
  1897.  
  1898.       If  any  command loses its binding, this command allows the
  1899. unbound command to be used.   A  command  can  lose  its  binding
  1900. because  the  binding  was  assigned  to  another command.   When
  1901. this command  is  given  you  will  be  prompted  for  a  command
  1902. name.    Enter  the  command  name  that  you wish to execute, it
  1903. will be executed as if you had typed its key binding.
  1904.  
  1905.       Ctl-L          refresh-screen
  1906.  
  1907.       The  screen  is  reprinted  from  BEAV's  internal  buffer.
  1908. This is useful if the display is messed up  due  to  transmission
  1909. errors.   On a PC this is unlikely to happen.
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.                               - 30 -
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.                          BEAV User Manual
  1925.  
  1926.  
  1927.  
  1928.       Esc Ctl-V      show-version
  1929.  
  1930.       The  version  and  date of BEAV is displayed in the command
  1931. line.
  1932.  
  1933.       Ctl-X C        spawn-shell
  1934.  
  1935.       A new shell  is  created.    You  can  return  to  BEAV  by
  1936. typing 'exit'.
  1937.  
  1938.       Ctl-U          repeat count
  1939.  
  1940.       This  command  prompts  for  a number to be entered.   This
  1941. causes the next command given to be repeated by  that  number  of
  1942. times.    This  command  cannot  have  it's  binding  changed and
  1943. cannot be issued using the 'extended-command' function.
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                               - 31 -
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.                          BEAV User Manual
  1990.  
  1991.  
  1992.  
  1993. 4.    Alphabetical list of commands by name
  1994.  
  1995. abort-cmd                      Ctl-G             3.12
  1996. abort-cmd                      Ctl-X,Ctl-G       3.12
  1997. abort-cmd                      Esc,Ctl-G         3.12
  1998. abort-cmd                      F10               3.12
  1999. auto-save                      Esc,A             3.12
  2000. bind-to-key                    Esc,K             3.11
  2001. binding-for-key                Ctl-X,?           3.11
  2002. binding-for-key                Sh-F1             3.11
  2003. bindings-load                  Ctl-X,L           3.11
  2004. buffer-set-file-name           Ctl-F7            3.3
  2005. buffer-set-file-name           Ctl-X,Ctl-F       3.3
  2006. buffer-set-file-name           Sh-F7             3.3
  2007. buffer-set-name                Esc,Ctl-N         3.3
  2008. buffer-size-lock               Ctl-X,Ctl-L       3.3
  2009. buffers-display                Ctl-F1            3.3
  2010. buffers-display                Ctl-X,Ctl-B       3.3
  2011. change-buffer                  Ctl-F2            3.3
  2012. change-buffer                  Ctl-X,B           3.3
  2013. change-to-next-buffer          Ctl-F4            3.3
  2014. change-to-next-buffer          Esc,+             3.3
  2015. change-to-prev-buffer          Ctl-F5            3.3
  2016. change-to-prev-buffer          Esc,-             3.3
  2017. change-window-back             Ctl-PageUp        3.5
  2018. change-window-back             Ctl-X,P           3.5
  2019. change-window-forw             Ctl-PageDown      3.5
  2020. change-window-forw             Ctl-X,N           3.5
  2021. compare                        Esc,C             3.12
  2022. copy-mark-to-cursor            Esc,W             3.6
  2023. copy-mark-to-cursor            F7                3.6
  2024. delete-back-char               Backspace         3.6
  2025. delete-back-char               Rubout            3.6
  2026. delete-back-unit               Esc,Ctl-K         3.6
  2027. delete-back-unit               Esc,Rubout        3.6
  2028. delete-forw-char               Ctl-D             3.6
  2029. delete-forw-char               Delete            3.6
  2030. delete-forw-unit               Esc,D             3.6
  2031. delete-mark-to-cursor          Ctl-W             3.6
  2032. delete-mark-to-cursor          F8                3.6
  2033. display-ascii                  Esc,Ctl-A         3.5
  2034. display-binary                 Esc,Ctl-B         3.5
  2035. display-byte-shift             Ctl-A             3.5
  2036. display-bytes                  Esc,1             3.5
  2037. display-decimal                Esc,Ctl-D         3.5
  2038. display-double-words           Esc,4             3.5
  2039. display-ebcdic                 Esc,Ctl-E         3.5
  2040. display-hex                    Esc,Backspace     3.5
  2041. display-octal                  Esc,Ctl-O         3.5
  2042. display-swap-order             Ctl-E             3.5
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.                               - 32 -
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.                          BEAV User Manual
  2055.  
  2056.  
  2057.  
  2058. display-words                  Esc,2             3.5
  2059. extended-command               Esc,X             3.12
  2060. file-read                      Ctl-X,Ctl-R       3.4
  2061. file-read                      Sh-F2             3.4
  2062. file-save                      Ctl-X,Ctl-S       3.4
  2063. file-save                      Sh-F3             3.4
  2064. file-view                      Ctl-X,V           3.4
  2065. file-visit                     Ctl-X,Ctl-V       3.4
  2066. file-visit                     Sh-F4             3.4
  2067. file-visit-split               Esc,U             3.4
  2068. file-write                     Ctl-X,Ctl-W       3.4
  2069. file-write                     Sh-F5             3.4
  2070. help                           Esc,?             3.1
  2071. help                           F1                3.1
  2072. insert-file                    Ctl-F8            3.4
  2073. insert-file                    Ctl-X,Tab         3.4
  2074. insert-file                    Sh-F8             3.4
  2075. insert-literally               Ctl-Q             3.6
  2076. insert-literally               Esc,Q             3.6
  2077. insert-toggle                  Ctl-X,Ctl-A       3.6
  2078. insert-toggle                  Insert            3.6
  2079. insert-unit                    Ctl-X,I           3.6
  2080. kill-buffer                    Ctl-F3            3.3
  2081. kill-buffer                    Ctl-X,K           3.3
  2082. macro-end                      Ctl-X,)           3.10
  2083. macro-execute                  Ctl-X,E           3.10
  2084. macro-start                    Ctl-X,(           3.10
  2085. mark-set                       Esc,.             3.2
  2086. mark-set                       F2                3.2
  2087. move-back-char                 Ctl-B             3.2
  2088. move-back-char                 West              3.2
  2089. move-back-line                 Ctl-P             3.2
  2090. move-back-line                 North             3.2
  2091. move-back-page                 Esc,V             3.2
  2092. move-back-page                 PageDown          3.2
  2093. move-back-unit                 Ctl-West          3.2
  2094. move-back-unit                 Esc,B             3.2
  2095. move-forw-char                 Ctl-F             3.2
  2096. move-forw-char                 East              3.2
  2097. move-forw-line                 Ctl-N             3.2
  2098. move-forw-line                 South             3.2
  2099. move-forw-page                 Ctl-V             3.2
  2100. move-forw-page                 PageUp            3.2
  2101. move-forw-unit                 Ctl-East          3.2
  2102. move-forw-unit                 Esc,F             3.2
  2103. move-forw-unit                 Sh-Tab            3.2
  2104. move-to-beginning              Esc,<             3.2
  2105. move-to-beginning              Home              3.2
  2106. move-to-buffer-split           Esc,G             3.2
  2107. move-to-byte                   Ctl-X,G           3.2
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.                               - 33 -
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.                          BEAV User Manual
  2120.  
  2121.  
  2122.  
  2123. move-to-byte                   F9                3.2
  2124. move-to-end                    End               3.2
  2125. move-to-end                    Esc,>             3.2
  2126. move-window-down               Ctl-X,Ctl-N       3.2
  2127. move-window-down               Ctl-Z             3.2
  2128. move-window-up                 Ctl-X,Ctl-P       3.2
  2129. move-window-up                 Esc,Z             3.2
  2130. print-mark-to-cursor           Ctl-Print         3.9
  2131. print-mark-to-cursor           Esc,P             3.9
  2132. quit-no-save                   Ctl-C             3.8
  2133. quit-no-save                   Ctl-F10           3.8
  2134. quit-no-save                   Ctl-X,Ctl-C       3.8
  2135. quit-no-save                   Sh-F10            3.8
  2136. quit-save-all                  Ctl-F9            3.8
  2137. quit-save-all                  Ctl-X,Ctl-E       3.8
  2138. quit-save-all                  Sh-F9             3.8
  2139. recall-srch-string             Ctl-R             3.7
  2140. refresh-screen                 Ctl-L             3.12
  2141. replace                        Esc,%             3.7
  2142. replace                        F5                3.7
  2143. save-all-buffers               Ctl-X,Return      3.4
  2144. save-all-buffers               Sh-F6             3.4
  2145. save-mark-to-cursor            Esc,O             3.3
  2146. search-again                   Esc,T             3.7
  2147. search-again                   F4                3.7
  2148. search-back                    Esc,R             3.7
  2149. search-forw                    Esc,S             3.7
  2150. search-forw                    F3                3.7
  2151. show-position                  Ctl-X,=           3.2
  2152. show-version                   Esc,Ctl-V         3.12
  2153. spawn-shell                    Ctl-X,C           3.12
  2154. swap-cursor-and-mark           Ctl-X,Ctl-X,      3.2
  2155. unit-twiddle                   Ctl-T             3.6
  2156. window-delete                  Ctl-X,0           3.5
  2157. window-enlarge                 Ctl-X,Z           3.5
  2158. window-link                    Esc,L             3.2
  2159. window-reposition              Esc,!             3.5
  2160. window-shrink                  Ctl-X,Ctl-Z       3.5
  2161. window-single                  Ctl-X,1           3.5
  2162. window-split                   Ctl-X,2           3.5
  2163. yank                           Ctl-Y             3.6
  2164. yank                           F6                3.6
  2165. yank-buffer                    Ctl-F6            3.3
  2166. yank-buffer                    Esc,Y             3.3
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.                               - 34 -
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.                          BEAV User Manual
  2185.  
  2186.  
  2187.  
  2188. 5.    Alphabetical list of commands by default key binding
  2189.  
  2190. delete-back-char               Backspace         3.6
  2191. display-byte-shift             Ctl-A             3.5
  2192. move-back-char                 Ctl-B             3.2
  2193. quit-no-save                   Ctl-C             3.8
  2194. delete-forw-char               Ctl-D             3.6
  2195. display-swap-order             Ctl-E             3.5
  2196. move-forw-unit                 Ctl-East          3.2
  2197. move-forw-char                 Ctl-F             3.2
  2198. buffers-display                Ctl-F1            3.3
  2199. quit-no-save                   Ctl-F10           3.8
  2200. change-buffer                  Ctl-F2            3.3
  2201. kill-buffer                    Ctl-F3            3.3
  2202. change-to-next-buffer          Ctl-F4            3.3
  2203. change-to-prev-buffer          Ctl-F5            3.3
  2204. yank-buffer                    Ctl-F6            3.3
  2205. buffer-set-file-name           Ctl-F7            3.3
  2206. insert-file                    Ctl-F8            3.4
  2207. quit-save-all                  Ctl-F9            3.8
  2208. abort-cmd                      Ctl-G             3.12
  2209. refresh-screen                 Ctl-L             3.12
  2210. move-forw-line                 Ctl-N             3.2
  2211. move-back-line                 Ctl-P             3.2
  2212. change-window-forw             Ctl-PageDown      3.5
  2213. change-window-back             Ctl-PageUp        3.5
  2214. print-mark-to-cursor           Ctl-Print         3.9
  2215. insert-literally               Ctl-Q             3.6
  2216. recall-srch-string             Ctl-R             3.7
  2217. unit-twiddle                   Ctl-T             3.6
  2218. move-forw-page                 Ctl-V             3.2
  2219. delete-mark-to-cursor          Ctl-W             3.6
  2220. move-back-unit                 Ctl-West          3.2
  2221. macro-start                    Ctl-X,(           3.10
  2222. macro-end                      Ctl-X,)           3.10
  2223. window-delete                  Ctl-X,0           3.5
  2224. window-single                  Ctl-X,1           3.5
  2225. window-split                   Ctl-X,2           3.5
  2226. show-position                  Ctl-X,=           3.2
  2227. binding-for-key                Ctl-X,?           3.11
  2228. change-buffer                  Ctl-X,B           3.3
  2229. spawn-shell                    Ctl-X,C           3.12
  2230. insert-toggle                  Ctl-X,Ctl-A       3.6
  2231. buffers-display                Ctl-X,Ctl-B       3.3
  2232. quit-no-save                   Ctl-X,Ctl-C       3.8
  2233. quit-save-all                  Ctl-X,Ctl-E       3.8
  2234. buffer-set-file-name           Ctl-X,Ctl-F       3.3
  2235. abort-cmd                      Ctl-X,Ctl-G       3.12
  2236. buffer-size-lock               Ctl-X,Ctl-L       3.3
  2237. move-window-down               Ctl-X,Ctl-N       3.2
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.                               - 35 -
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.                          BEAV User Manual
  2250.  
  2251.  
  2252.  
  2253. move-window-up                 Ctl-X,Ctl-P       3.2
  2254. file-read                      Ctl-X,Ctl-R       3.4
  2255. file-save                      Ctl-X,Ctl-S       3.4
  2256. file-visit                     Ctl-X,Ctl-V       3.4
  2257. file-write                     Ctl-X,Ctl-W       3.4
  2258. swap-cursor-and-mark           Ctl-X,Ctl-X,      3.2
  2259. window-shrink                  Ctl-X,Ctl-Z       3.5
  2260. macro-execute                  Ctl-X,E           3.10
  2261. move-to-byte                   Ctl-X,G           3.2
  2262. insert-unit                    Ctl-X,I           3.6
  2263. kill-buffer                    Ctl-X,K           3.3
  2264. bindings-load                  Ctl-X,L           3.11
  2265. change-window-forw             Ctl-X,N           3.5
  2266. change-window-back             Ctl-X,P           3.5
  2267. save-all-buffers               Ctl-X,Return      3.4
  2268. insert-file                    Ctl-X,Tab         3.4
  2269. file-view                      Ctl-X,V           3.4
  2270. window-enlarge                 Ctl-X,Z           3.5
  2271. yank                           Ctl-Y             3.6
  2272. move-window-down               Ctl-Z             3.2
  2273. delete-forw-char               Delete            3.6
  2274. move-forw-char                 East              3.2
  2275. move-to-end                    End               3.2
  2276. window-reposition              Esc,!             3.5
  2277. replace                        Esc,%             3.7
  2278. change-to-next-buffer          Esc,+             3.3
  2279. change-to-prev-buffer          Esc,-             3.3
  2280. mark-set                       Esc,.             3.2
  2281. display-bytes                  Esc,1             3.5
  2282. display-words                  Esc,2             3.5
  2283. display-double-words           Esc,4             3.5
  2284. move-to-beginning              Esc,<             3.2
  2285. move-to-end                    Esc,>             3.2
  2286. help                           Esc,?             3.1
  2287. auto-save                      Esc,A             3.12
  2288. move-back-unit                 Esc,B             3.2
  2289. display-hex                    Esc,Backspace     3.5
  2290. Compare                        Esc,C             3.12
  2291. display-ascii                  Esc,Ctl-A         3.5
  2292. display-binary                 Esc,Ctl-B         3.5
  2293. display-decimal                Esc,Ctl-D         3.5
  2294. display-ebcdic                 Esc,Ctl-E         3.5
  2295. abort-cmd                      Esc,Ctl-G         3.12
  2296. delete-back-unit               Esc,Ctl-K         3.6
  2297. buffer-set-name                Esc,Ctl-N         3.3
  2298. display-octal                  Esc,Ctl-O         3.5
  2299. show-version                   Esc,Ctl-V         3.12
  2300. delete-forw-unit               Esc,D             3.6
  2301. move-forw-unit                 Esc,F             3.2
  2302. move-to-buffer-split           Esc,G             3.2
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.                               - 36 -
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.                          BEAV User Manual
  2315.  
  2316.  
  2317.  
  2318. bind-to-key                    Esc,K             3.11
  2319. window-link                    Esc,L             3.2
  2320. save-mark-to-cursor            Esc,O             3.3
  2321. print-mark-to-cursor           Esc,P             3.9
  2322. insert-literally               Esc,Q             3.6
  2323. search-back                    Esc,R             3.7
  2324. delete-back-unit               Esc,Rubout        3.6
  2325. search-forw                    Esc,S             3.7
  2326. search-again                   Esc,T             3.7
  2327. file-visit-split               Esc,U             3.4
  2328. move-back-page                 Esc,V             3.2
  2329. copy-mark-to-cursor            Esc,W             3.6
  2330. extended-command               Esc,X             3.12
  2331. yank-buffer                    Esc,Y             3.3
  2332. move-window-up                 Esc,Z             3.2
  2333. help                           F1                3.1
  2334. abort-cmd                      F10               3.12
  2335. mark-set                       F2                3.2
  2336. search-forw                    F3                3.7
  2337. search-again                   F4                3.7
  2338. replace                        F5                3.7
  2339. yank                           F6                3.6
  2340. copy-mark-to-cursor            F7                3.6
  2341. delete-mark-to-cursor          F8                3.6
  2342. move-to-byte                   F9                3.2
  2343. move-to-beginning              Home              3.2
  2344. insert-toggle                  Insert            3.6
  2345. move-back-line                 North             3.2
  2346. move-back-page                 PageDown          3.2
  2347. move-forw-page                 PageUp            3.2
  2348. delete-back-char               Rubout            3.6
  2349. binding-for-key                Sh-F1             3.11
  2350. quit-no-save                   Sh-F10            3.8
  2351. file-read                      Sh-F2             3.4
  2352. file-save                      Sh-F3             3.4
  2353. file-visit                     Sh-F4             3.4
  2354. file-write                     Sh-F5             3.4
  2355. save-all-buffers               Sh-F6             3.4
  2356. buffer-set-file-name           Sh-F7             3.3
  2357. insert-file                    Sh-F8             3.4
  2358. quit-save-all                  Sh-F9             3.8
  2359. move-forw-unit                 Sh-Tab            3.2
  2360. move-forw-line                 South             3.2
  2361. move-back-char                 West              3.2
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                               - 37 -
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.                          BEAV User Manual
  2380.  
  2381.  
  2382.  
  2383. 6.    Release notes
  2384.  
  2385.  
  2386.       Version 1.20  (3/10/91)  of  beav  contains  the  following
  2387. fixes and enhancements;
  2388.  
  2389. *           Under   unix   files   are  created  with  read/write
  2390.       permissions.
  2391.  
  2392. *           Fixed the  bug  in  the  terminal  I/O  routine  that
  2393.       caused  beav  to  spin  rather  than  give  up control when
  2394.       waiting for a character.
  2395.  
  2396. *           Added the ANSI #define that was missing for MSDOS.
  2397.  
  2398. *           Changed the D16 #define to a unsigned short.
  2399.  
  2400. *           Called ttclose on error exit.
  2401.  
  2402. *           Check and limit ncol and nrow to  the  actual  screen
  2403.       array size.
  2404.  
  2405. *           Add  the  ability  to  load  key bindings from a file
  2406.       automatically under MSDOS and unix.
  2407.  
  2408. *           Add delete current window command.
  2409.  
  2410. *           Support VT100 type function keys.
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.                               - 38 -
  2439.  
  2440.  
  2441.  
  2442.